package fun.tan90.easy.binlog.manager.service;


import com.mybatisflex.core.service.IService;
import fun.tan90.easy.binlog.manager.dataobject.BinlogOutputRule;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogOutputRuleAddCmd;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogOutputRuleUpdateCmd;
import fun.tan90.easy.binlog.manager.model.vo.BinlogOutputRuleVo;

import java.util.List;
import java.util.Map;

/**
 * 服务层。
 *
 * @author 陈浩杰
 * @since 2023-09-12
 */
public interface BinlogOutputRuleService extends IService<BinlogOutputRule> {

    Map<String, List<String>> regularTest(String masterId, String schemaRegular, String tableRegular);

    List<BinlogOutputRuleVo> list(String masterId);

    void addBinlogOutputRule(BinlogOutputRuleAddCmd addCmd);

    void updateBinlogOutputRule(BinlogOutputRuleUpdateCmd updateCmd);

    void delBinlogOutputRule(String id);

    void switchBinlogOutputRuleStatus(String id);
}
